Knowledge representation and reasoning systems embody intelligent processes that characterize stored knowledge and which can state in a formal way that the existence of some piece of knowledge implies the existence of some other, previously unknown piece of knowledge. Optimizing engines to conduct such processes requires that a number of states searched by such engines in determining the existence of a piece of knowledge is minimized. Conventional optimization techniques often rely heavily on human-input or the characterization of special cases, both of which can be difficult to extend and further optimize.